// 该文件主要用于：创建一个store，并管理三个“手下人”
import Vue from 'vue'
import vuex from 'vuex'

//使用vuex插件
Vue.use(vuex)

// 创建一个store
const store = new vuex.Store({
	actions:{
		//用于处理【加】的服务员
		jia({commit},value){
			console.log('服务员---jia函数被调用了')
			//联系对应的mutations去修改数据（联系厨师去做菜）
			commit('JIA',value)
		},
		//用于处理【减】的服务员
		jian({commit},value){
			console.log('服务员---jian函数被调用了')
			//联系对应的mutations去修改数据（联系厨师去做菜）
			commit('JIAN',value)
		},
		//用于处理【奇数再加】的服务员
		jiaOdd({commit,state},value){
			if(state.sum % 2){
				commit('JIA',value)
			}
		},
		//用于处理【等一等加】的服务员
		jiaWait({commit},value){
			setTimeout(()=>{
				commit('JIA',value)
			},500)
		}
	},
	mutations:{
		// 用于处理【加】的厨师
		JIA(state,value){
			console.log('厨师---JIA函数被调用了')
			//操作state中对应的数据
			state.sum += value
		},
		// 用于处理【减】的厨师
		JIAN(state,value){
			console.log('厨师---JIAN函数被调用了')
			//操作state中对应的数据
			state.sum -= value
		}
	},
	//初识数据
	state:{
		sum:1 //当前的和
	}
})

//暴露store
export default store